IPL 2022 Data Analysis Project¶

In [1]:
import pandas as pd               # Used in data preprocessing
import plotly.express as px       # Used in data visualization
import plotly.graph_objects as go
In [2]:
data=pd.read_csv("C:\\Users\\hp\\Downloads\IPL.csv")
In [3]:
data
Out[3]:
match_id date venue team1 team2 stage toss_winner toss_decision first_ings_score first_ings_wkts second_ings_score second_ings_wkts match_winner won_by margin player_of_the_match top_scorer highscore best_bowling best_bowling_figure
0 1 March 26,2022 Wankhede Stadium, Mumbai Chennai Kolkata Group Kolkata Field 131.0 5.0 133.0 4.0 Kolkata Wickets 6.0 Umesh Yadav MS Dhoni 50.0 Dwayne Bravo 3--20
1 2 March 27,2022 Brabourne Stadium, Mumbai Delhi Mumbai Group Delhi Field 177.0 5.0 179.0 6.0 Delhi Wickets 4.0 Kuldeep Yadav Ishan Kishan 81.0 Kuldeep Yadav 3--18
2 3 March 27,2022 Dr DY Patil Sports Academy, Mumbai Banglore Punjab Group Punjab Field 205.0 2.0 208.0 5.0 Punjab Wickets 5.0 Odean Smith Faf du Plessis 88.0 Mohammed Siraj 2--59
3 4 March 28,2022 Wankhede Stadium, Mumbai Gujarat Lucknow Group Gujarat Field 158.0 6.0 161.0 5.0 Gujarat Wickets 5.0 Mohammed Shami Deepak Hooda 55.0 Mohammed Shami 3--25
4 5 March 29,2022 Maharashtra Cricket Association Stadium,Pune Hyderabad Rajasthan Group Hyderabad Field 210.0 6.0 149.0 7.0 Rajasthan Runs 61.0 Sanju Samson Aiden Markram 57.0 Yuzvendra Chahal 3--22
5 6 March 30,2022 Dr DY Patil Sports Academy, Mumbai Banglore Kolkata Group Banglore Field 128.0 10.0 132.0 7.0 Banglore Wickets 3.0 Wanindu Hasaranga Sherfane Rutherford 28.0 Wanindu Hasaranga 4--20
6 7 March 31,2022 Brabourne Stadium, Mumbai Chennai Lucknow Group Lucknow Field 210.0 7.0 211.0 4.0 Lucknow Wickets 6.0 Evin Lewis Quinton de Kock 61.0 Ravi Bishnoi 2--24
7 8 April 1,2022 Wankhede Stadium, Mumbai Kolkata Punjab Group Kolkata Field 137.0 10.0 141.0 4.0 Kolkata Wickets 6.0 Umesh Yadav Andre Russell 70.0 Umesh Yadav 4--23
8 9 April 2,2022 Dr DY Patil Sports Academy, Mumbai Mumbai Rajasthan Group Mumbai Field 193.0 8.0 170.0 8.0 Rajasthan Runs 23.0 Jos Buttler Jos Buttler 100.0 Jasprit Bumrah 3--17
9 10 April 2,2022 Maharashtra Cricket Association Stadium,Pune Delhi Gujarat Group Delhi Field 171.0 6.0 157.0 9.0 Gujarat Runs 14.0 Lockie Ferguson Shubman Gill 84.0 Lockie Ferguson 4--28
10 11 April 3,2022 Brabourne Stadium, Mumbai Chennai Punjab Group Chennai Field 180.0 8.0 126.0 10.0 Punjab Runs 54.0 Liam Livingstone LiamLivingstone 60.0 Rahul Chahar 3--25
11 12 April 4,2022 Dr DY Patil Sports Academy, Mumbai Hyderabad Lucknow Group Hyderabad Field 169.0 7.0 157.0 9.0 Lucknow Runs 12.0 Avesh Khan KL Rahul 68.0 Avesh Khan 4--24
12 13 April 5,2022 Wankhede Stadium, Mumbai Banglore Rajasthan Group Banglore Field 169.0 3.0 173.0 6.0 Banglore Wickets 4.0 Dinesh Karthik Jos Buttler 70.0 Yuzvendra Chahal 2--15
13 14 April 6,2022 Maharashtra Cricket Association Stadium,Pune Kolkata Mumbai Group Kolkata Field 161.0 4.0 162.0 5.0 Kolkata Wickets 5.0 Pat Cummins Pat Cummins 56.0 Murugan Ashwin 2--25
14 15 April 7,2022 Dr DY Patil Sports Academy, Mumbai Delhi Lucknow Group Lucknow Field 149.0 3.0 155.0 4.0 Lucknow Wickets 6.0 Quinton de Kock Quinton de Kock 80.0 Ravi Bishnoi 2--22
15 16 April 8,2022 Brabourne Stadium, Mumbai Gujarat Punjab Group Gujarat Field 189.0 9.0 190.0 4.0 Gujarat Wickets 6.0 Shubman Gill Shubman Gill 96.0 Rashid Khan 3--22
16 17 April 9,2022 Dr DY Patil Sports Academy, Mumbai Chennai Hyderabad Group Hyderabad Field 154.0 7.0 155.0 2.0 Hyderabad Wickets 8.0 Abhishek Sharma Abhishek Sharma 75.0 Washington Sundar 2--21
17 18 April 9,2022 Maharashtra Cricket Association Stadium,Pune Banglore Mumbai Group Banglore Field 151.0 6.0 152.0 3.0 Banglore Wickets 7.0 Anuj Rawat Suryakumar Yadav 68.0 Harshal Patel 2--23
18 19 April 10,2022 Brabourne Stadium, Mumbai Delhi Kolkata Group Kolkata Field 215.0 5.0 171.0 10.0 Delhi Runs 44.0 Kuldeep Yadav David Warner 61.0 Kuldeep Yadav 4--35
19 20 April 10,2022 Wankhede Stadium, Mumbai Lucknow Rajasthan Group Lucknow Field 165.0 6.0 162.0 8.0 Rajasthan Runs 3.0 Yuzvendra Chahal Shimron Hetmyer 59.0 Yuzvendra Chahal 4--41
20 21 April11,2022 Dr DY Patil Sports Academy, Mumbai Gujarat Hyderabad Group Hyderabad Field 162.0 7.0 168.0 2.0 Hyderabad Wickets 8.0 Kane Williamson Kane Williamson 57.0 T Natarajan 2--34
21 22 April 12,2022 Dr DY Patil Sports Academy, Mumbai Banglore Chennai Group Banglore Field 216.0 4.0 193.0 9.0 Chennai Runs 23.0 Shivam Dube Shivam Dube 95.0 Maheesh Theekshana 4--33
22 23 April 13,2022 Maharashtra Cricket Association Stadium,Pune Mumbai Punjab Group Mumbai Field 198.0 5.0 186.0 9.0 Punjab Runs 12.0 Mayank Agarwal Shikhar Dhawan 70.0 Odean Smith 4--30
23 24 April 14,2022 Dr DY Patil Sports Academy, Mumbai Gujarat Rajasthan Group Rajasthan Field 192.0 4.0 155.0 9.0 Gujarat Runs 37.0 Hardik Pandya Hardik Pandya 87.0 Lockie Ferguson 3--23
24 25 April 15,2022 Brabourne Stadium, Mumbai Hyderabad Kolkata Group Hyderabad Field 175.0 8.0 176.0 3.0 Hyderabad Wickets 7.0 Rahul Tripathi Rahul Tripathi 71.0 T Natarajan 3--37
25 26 April 16,2022 Brabourne Stadium, Mumbai Lucknow Mumbai Group Mumbai Field 199.0 4.0 181.0 9.0 Lucknow Runs 18.0 K L Rahul KL Rahul 103.0 Avesh Khan 3--30
26 27 April 16,2022 Wankhede Stadium, Mumbai Banglore Delhi Group Delhi Field 189.0 5.0 173.0 7.0 Banglore Runs 16.0 Dinesh Karthik Dinesh Karthik 66.0 Josh Hazlewood 3--28
27 28 April 17,2022 Dr DY Patil Sports Academy, Mumbai Hyderabad Punjab Group Hyderabad Field 151.0 10.0 152.0 3.0 Hyderabad Wickets 7.0 Umran Malik LiamLivingstone 60.0 Umran Malik 4--28
28 29 April 17,2022 Maharashtra Cricket Association Stadium,Pune Chennai Gujarat Group Gujarat Field 169.0 5.0 170.0 7.0 Gujarat Wickets 3.0 David Miller David Miller 94.0 Dwayne Bravo 3--23
29 30 April 18,2022 Brabourne Stadium, Mumbai Kolkata Rajasthan Group Kolkata Field 217.0 5.0 210.0 10.0 Rajasthan Runs 7.0 Yuzvendra Chahal Jos Buttler 103.0 Yuzvendra Chahal 5--40
30 31 April 19,2022 Dr DY Patil Sports Academy, Mumbai Banglore Lucknow Group Lucknow Field 181.0 6.0 163.0 8.0 Banglore Runs 18.0 Faf du Plessis Faf du Plessis 96.0 Josh Hazlewood 4--25
31 32 April 20,2022 Brabourne Stadium, Mumbai Delhi Punjab Group Delhi Field 115.0 10.0 119.0 1.0 Delhi Wickets 9.0 Kuldeep Yadav David Warner 60.0 Axar Patel 2--10
32 33 April 21,2022 Dr DY Patil Sports Academy, Mumbai Chennai Mumbai Group Chennai Field 155.0 7.0 156.0 7.0 Chennai Wickets 3.0 Mukesh Choudhary Tilak Varma 51.0 Daniel Sams 4--30
33 34 April 22,2022 Wankhede Stadium, Mumbai Delhi Rajasthan Group Delhi Field 222.0 2.0 207.0 8.0 Rajasthan Runs 15.0 Jos Buttler Jos Buttler 116.0 Prasidh Krishna 3--22
34 35 April 23,2022 Dr DY Patil Sports Academy, Mumbai Gujarat Kolkata Group Gujarat Bat 156.0 9.0 148.0 8.0 Gujarat Runs 8.0 Rashid Khan Hardik Pandya 67.0 Andre Russell 4--5
35 36 April 23,2022 Brabourne Stadium, Mumbai Banglore Hyderabad Group Hyderabad Field 68.0 10.0 72.0 1.0 Hyderabad Wickets 9.0 Marco Jansen Abhishek Sharma 47.0 T Natarajan 3--10
36 37 April 24,2022 Wankhede Stadium, Mumbai Lucknow Mumbai Group Mumbai Field 168.0 6.0 132.0 8.0 Lucknow Runs 36.0 K L Rahul KL Rahul 103.0 Krunal Pandya 3--19
37 38 April 25,2022 Wankhede Stadium, Mumbai Chennai Punjab Group Chennai Field 187.0 4.0 176.0 6.0 Punjab Runs 11.0 Shikhar Dhawan Shikhar Dhawan 88.0 Kagiso Rabada 2--23
38 39 April 26,2022 Maharashtra Cricket Association Stadium,Pune Banglore Rajasthan Group Banglore Field 144.0 8.0 115.0 10.0 Rajasthan Runs 29.0 Riyan Parag Riyan Parag 56.0 Kuldeep Sen 4--20
39 40 April 27,2022 Wankhede Stadium, Mumbai Gujarat Hyderabad Group Gujarat Field 195.0 6.0 199.0 5.0 Gujarat Wickets 5.0 Umran Malik W. Saha 68.0 Umran Malik 5--25
40 41 April 28,2022 Wankhede Stadium, Mumbai Delhi Kolkata Group Delhi Field 146.0 9.0 150.0 6.0 Delhi Wickets 4.0 Kuldeep Yadav Nitish Rana 57.0 Kuldeep Yadav 4--14
41 42 April 29,2022 Maharashtra Cricket Association Stadium,Pune Lucknow Punjab Group Punjab Field 153.0 8.0 133.0 8.0 Lucknow Runs 20.0 Krunal Pandya Quinton de Kock 46.0 Kagiso Rabada 4--38
42 43 April 30,2022 Brabourne Stadium, Mumbai Banglore Gujarat Group Banglore Bat 170.0 6.0 174.0 4.0 Gujarat Wickets 6.0 Rahul Tewatia Virat Kohli 58.0 Pradeep Sangwan 2--19
43 44 April 30,2022 Dr DY Patil Sports Academy, Mumbai Mumbai Rajasthan Group Mumbai Field 158.0 6.0 161.0 5.0 Mumbai Wickets 5.0 Suruakumar Yadav Jos Buttler 67.0 Rilley Meredith 2--24
44 45 May 1,2022 Wankhede Stadium, Mumbai Delhi Lucknow Group Lucknow Bat 195.0 3.0 189.0 7.0 Lucknow Runs 6.0 Mohsin Khan KL Rahul 77.0 Mohsin Khan 4--16
45 46 May 1,2022 Maharashtra Cricket Association Stadium,Pune Chennai Hyderabad Group Hyderabad Field 202.0 2.0 189.0 6.0 Chennai Runs 13.0 Ruturaj Gaikwad Ruturaj Gaikwad 99.0 Mukesh Choudhary 4--46
46 47 May 2,2022 Wankhede Stadium, Mumbai Kolkata Rajasthan Group Kolkata Field 152.0 5.0 158.0 3.0 Kolkata Wickets 7.0 Rinku Singh Sanju Samson 54.0 Tim Southee 2--46
47 48 May 3,2022 Dr DY Patil Sports Academy, Mumbai Gujarat Punjab Group Gujarat Bat 143.0 8.0 145.0 2.0 Punjab Wickets 8.0 Kagiso Rabada Sai Sudharsan 65.0 Kagiso Rabada 4--33
48 49 May 4,2022 Maharashtra Cricket Association Stadium,Pune Banglore Chennai Group Chennai Field 173.0 8.0 160.0 8.0 Banglore Runs 13.0 NaN Devon Conway 56.0 Maheesh Theekshana 3--27
49 50 May 5,2022 Brabourne Stadium, Mumbai Delhi Hyderabad Group NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
50 51 May 6,2022 Brabourne Stadium, Mumbai Gujarat Mumbai Group NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
51 52 May 7,2022 Wankhede Stadium, Mumbai Punjab Rajasthan Group NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
52 53 May 7,2022 Maharashtra Cricket Association Stadium,Pune Kolkata Lucknow Group NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

Data Preprocessing¶

In [4]:
# Checking any null values in our dataset
print(data.isnull().sum())
match_id               0
date                   0
venue                  0
team1                  0
team2                  0
stage                  0
toss_winner            4
toss_decision          4
first_ings_score       4
first_ings_wkts        4
second_ings_score      4
second_ings_wkts       4
match_winner           4
won_by                 4
margin                 4
player_of_the_match    5
top_scorer             4
highscore              4
best_bowling           4
best_bowling_figure    4
dtype: int64
In [5]:
# Removing null values along with their Rows( By using 'inplace = True' arguments we done parmanent removal of Null values)
data.dropna(inplace=True)
In [6]:
# from result we can clearly see that there is not any null values in our dataset
data.isnull().sum()
Out[6]:
match_id               0
date                   0
venue                  0
team1                  0
team2                  0
stage                  0
toss_winner            0
toss_decision          0
first_ings_score       0
first_ings_wkts        0
second_ings_score      0
second_ings_wkts       0
match_winner           0
won_by                 0
margin                 0
player_of_the_match    0
top_scorer             0
highscore              0
best_bowling           0
best_bowling_figure    0
dtype: int64
In [7]:
# Checking any Duplicate values in our dataset
print(data.duplicated().sum())
0

Number of matches won by each team in ipl 2022¶

In [8]:
figure = px.bar(data, x = 'match_winner', title ="Number of matches won by each team in ipl 2022")   # Here we don't need to describe Y-Axis because
figure.show()                                                                                        # it's already calculate count of it in Y-axis

here we Analyze whether most teams win by defending(batting first) or chasing (bowling first)¶

In [9]:
data['won_by'] = data["won_by"].map({"Wickets": "Chasing",
                        "Runs": "Defending"})
won_by = data['won_by'].value_counts()
label = won_by.index
counts = won_by.values
colors = ['red','green']

fig = go.Figure(data=[go.Pie(labels=label, values=counts)])
fig.update_layout(title_text = "Match wins: Chasing vs Defending")
fig.update_traces(hoverinfo ='label+percent' ,textinfo = 'value',
                  textfont_size =30,
                  marker=dict(colors=colors,
                              line=dict(color='black', width=3)))
fig.show()

Which player did the best bowling¶

In [10]:
fig=px.bar(data,x ="best_bowling" ,title="Best Bowler in ipl 2022")
fig.show()

Which Player got Highest number of player of the match Award¶

In [11]:
fig = px.bar(data, x ="player_of_the_match" ,title="Most Player of the Match Award")
fig.show()

Top Scorer in IPL 2022¶

In [12]:
fig = px.bar(data ,x ="top_scorer", y ='highscore',
             color = 'highscore',
             title ="Top scorer of IPL 2022")
fig.show()

Now Let's see what most team prefer (batting or bowling) after winning the toss¶

In [13]:
a = data["toss_decision"].value_counts()
label = a.index
counts = a.values
colors = ['skyblue','yellow']

fig =go.Figure(data=[go.Pie(labels=label, values=counts)])
fig.update_layout(title_text="Toss Decision")
fig.update_traces(hoverinfo='label+percent',
                  textinfo='value', textfont_size=30,
                  marker=dict(colors=colors,
                              line=dict(color='black',width=3)))
fig.show()

Now let's have a look at whether most of the wickets fall while setting the target or while chasing the target¶

In [14]:
figure =go.Figure()
figure.add_trace(go.Bar(x =data["venue"], y =data["first_ings_wkts"] ,name ='First Innings Wickets', marker_color ='gold'))

figure.add_trace(go.Bar(x =data["venue"], y =data["second_ings_wkts"] ,name ='second Innings Wickets', marker_color ='lightgreen'))

figure.update_layout(barmode='group', xaxis_tickangle=-45)
figure.show()
In [ ]: